/*
 * DatosCrearFlotaAvisoJugador.h
 *
 *  Created on: 01/02/2010
 *      Author: San Martín, Matías I.
 */

#ifndef DATOSCREARFLOTAAVISOJUGADOR_H_
#define DATOSCREARFLOTAAVISOJUGADOR_H_

#include "DatosMensaje.h"

#include "../../../Middleware/Common/IdPlaneta.h"
#include "../../../Middleware/Common/IdFlota.h"

namespace aplicacion {

class DatosCrearFlotaAvisoJugador: public aplicacion::DatosMensaje {
	//------------------------------ CONSTANTES ------------------------------
	public:

	//------------------------------ ATRIBUTOS ------------------------------
	public:
		IdFlota 	_idFlota;
		IdPlaneta 	_idDestino;
		unsigned	_cantidadNaves;
		T_SEMILLA	_semilla;

	//------------------------------ METODOS ------------------------------
	public:
		DatosCrearFlotaAvisoJugador();
		virtual ~DatosCrearFlotaAvisoJugador();

		virtual std::string toString() const;

		virtual t_tipoMensaje getTipo()
		{
			return AVISO_CREAR_FLOTA;
		}

		//-------------------- de interfaz framework::io::SerializableToFile
		/**
		 * @see framework::io::SerializableToFile#save(int)
		 */
		virtual size_t save (int fd) const;

		/**
		 * @see framework::io::SerializableToFile#load(int)
		 */
		virtual size_t load (int fd);

		/**
		 * @see middleware::io::SerializableToArray#saveToArray(int)
		 */
		virtual size_t saveToArray (uint8_t* arr) const;

		/**
		 * @see middleware::io::SerializableToArray#loadFromArray(int)
		 */
		virtual size_t loadFromArray (const uint8_t* arr);
	};

	} //namespace aplicacion

#endif /* DATOSCREARFLOTAAVISOJUGADOR_H_ */
